In graphics processing, efficiently rendering light that has scattered off multiple surfaces in the context of a real-time application, such as a video game, is highly desirable. Photon mapping is known as a consistent estimator for indirect illumination in offline rendering. Photon mapping not only excels at sampling caustic paths that converge slowly for many other rendering methods, but also estimates lower-frequency glossy and diffuse interreflection well and is surprisingly simple to implement.
Many variations on photon mapping intended for eventual real-time rendering of complex scenes have been proposed and even demonstrated on limited scenes at interactive rates. Combined with this algorithmic progress, GPUs are now powerful enough that photon mapping may be implemented in real-time rendering systems. One current challenge, however, is maintaining quality while scaling efficiently on a modern GPU.
Photon mapping includes two steps: tracing photons along rays from light sources and estimating radiance due to those photons scattering off visible surfaces (i.e., “shading”). Efficient parallel ray tracing hardware and software systems are capable of tracing hundreds of millions of rays per second and the process may be amortized over multiple frames. Thus, existing systems meet the performance needed for photon tracing. Net performance of these systems typically hinge on efficient photon shading.
Thus, there is a need for addressing this issue and/or other issues associated with the prior art.